#ifndef ITEMDIALOG_H
#define ITEMDIALOG_H

#include <QDialog>
#include <QLineEdit>
#include <QSpinBox>
#include <QTextEdit>
#include <QPushButton>
#include <QLabel>
#include <QFormLayout>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QDialogButtonBox>
#include "databasemanager.h"

QT_BEGIN_NAMESPACE
namespace Ui {
class ItemDialog;
}
QT_END_NAMESPACE

class ItemDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ItemDialog(QWidget *parent = nullptr);
    ~ItemDialog();
    
    // 设置为编辑模式
    void setEditMode(const ItemInfo& item);
    // 获取输入的物品信息
    ItemInfo getItemInfo() const;

private slots:
    // 确定按钮点击
    void onAccepted();
    // 取消按钮点击
    void onRejected();

private:
    // 初始化UI
    void setupUI();
    // 验证输入数据
    bool validateInput();
    // 清空输入框
    void clearInputs();
    
    Ui::ItemDialog *ui;
    bool m_editMode;    // 是否为编辑模式
    int m_itemId;       // 编辑时的物品ID
};

#endif // ITEMDIALOG_H